/*1*/ package Vista;
/*2*/
/*3*/ import Controlador.ControladorPrecondiciones;
/*4*/ import java.awt.Color;
import java.awt.Component;
/*5*/ import java.awt.Point;
/*6*/ import java.awt.datatransfer.DataFlavor;
/*7*/ import java.awt.event.MouseEvent;
/*8*/ import java.awt.event.MouseMotionAdapter;
/*9*/ import java.awt.event.WindowAdapter;
/*10*/ import java.awt.event.WindowEvent;
/*11*/ import java.io.File;
/*12*/ import java.util.Vector;
/*13*/ import javax.swing.DropMode;
import javax.swing.Icon;
import javax.swing.ImageIcon;
/*14*/ import javax.swing.JOptionPane;
/*15*/ import javax.swing.JTable;
/*16*/ import javax.swing.ListSelectionModel;
/*17*/ import javax.swing.TransferHandler;
import javax.swing.table.DefaultTableCellRenderer;
/*18*/ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
/*19*/

public class JPPrecondiciones extends javax.swing.JPanel {

    /*26*/     ControladorPrecondiciones control;
    /** Creates new form JPPrecondiciones */
    public JPPrecondiciones(ControladorPrecondiciones controlador) {
/*33*/         this.control = controlador;
/*34*/         initComponents();
/*35*/         //setear datos para la tabla de datos necesarios para la construccion de las precondiciones
/*36*/         this.setCU();
/*37*/         this.setWorkflowAnterior();
/*38*/         this.setCaseOutWorkflow();
/*39*/         //setar datos para la tabla de precondiciones
/*40*/         this.setNomCU();
/*41*/         if (this.control.getPrecondicionesCU() != null) {
/*42*/             this.setPrecondiciones(this.control.getPrecondicionesCU());
/*43*/         } else {
/*44*/             this.setPreObjRestObj();
/*45*/         }
/*46*/         this.tDatosPrecondiciones.setDragEnabled(true);
/*47*/         this.tDatosPrecondiciones.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
/*48*/         this.tPrecondiciones.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
/*49*/         this.tPrecondiciones.setDropMode(DropMode.ON);
/*50*/
/*51*/         //para utilizar el drag and drop en la tabla
/*52*/         this.tPrecondiciones.setTransferHandler(new TransferHandler() {
/*53*/
/*54*/             @Override
/*55*/             public boolean canImport(TransferSupport support) {
/*56*/                 if (!support.isDrop()) {
/*57*/                     return false;
/*58*/                 }
/*59*/                 if (!support.isDataFlavorSupported(DataFlavor.stringFlavor)) {
/*60*/                     return false;
/*61*/                 }
/*62*/                 return true;
/*63*/             }
/*64*/
/*65*/             @Override
/*66*/             public boolean importData(TransferSupport support) {
/*67*/                 if (!canImport(support)) {
/*68*/                     return false;
/*69*/                 }
/*70*/
/*71*/                 // locación
/*72*/                 JTable.DropLocation dl = (JTable.DropLocation) support.getDropLocation();
/*73*/                 int row = dl.getRow();
/*74*/                 int col = dl.getColumn();
/*75*/
/*76*/                 if (tPrecondiciones.getValueAt(row, 2) == null) {
/*77*/                     tPrecondiciones.setValueAt(tDatosPrecondiciones.getValueAt(tDatosPrecondiciones.getSelectedRow(), tDatosPrecondiciones.getSelectedColumn()), row, 2);
/*78*/                 } else {
/*79*/                     tPrecondiciones.setValueAt(tPrecondiciones.getValueAt(row, 2) + tDatosPrecondiciones.getValueAt(tDatosPrecondiciones.getSelectedRow(), tDatosPrecondiciones.getSelectedColumn()).toString(), row, 2);
/*80*/                 }
/*81*/                 return true;
/*82*/             }
/*83*/         });
/*84*/
/*85*/         //para visualizar el contenido de una celda al pasar el mouse por ella
/*86*/         this.tPrecondiciones.addMouseMotionListener(new MouseMotionAdapter() {
/*87*/
/*88*/             @Override
/*89*/             public void mouseMoved(MouseEvent e) {
/*90*/                 Point p = e.getPoint();
/*91*/                 int row = tPrecondiciones.rowAtPoint(p);
/*92*/                 int column = tPrecondiciones.columnAtPoint(p);
/*93*/                 tPrecondiciones.setToolTipText(String.valueOf(tPrecondiciones.getValueAt(row, column)));
/*94*/             }
/*95*/         });
/*96*/         //si se cierra la ventana se guardan los datos en un archivo xml
///////////////*97*/         this.addWindowListener(new WindowAdapter() {
///////////////*98*/
///////////////*99*/             @Override
///////////////*100*/             public void windowClosing(WindowEvent e) {
///////////////*101*/                 javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
///////////////*102*/                 String ruta = "";
///////////////*103*/                 try {
///////////////*104*/                     if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
///////////////*105*/                         ruta = jF1.getSelectedFile().getAbsolutePath();
///////////////*106*/                         if (new File(ruta).exists()) {
///////////////*107*/                             if (JOptionPane.OK_OPTION == JOptionPane.showConfirmDialog(null, "El fichero existe,desea reemplazarlo?", "Titulo", JOptionPane.YES_NO_OPTION)) {
///////////////*108*/                                 control.archivoSesion(ruta);
///////////////*109*/                             }
///////////////*110*/                         } else {
///////////////*111*/                             control.archivoSesion(ruta);
///////////////*112*/                         }
///////////////*113*/                     }
///////////////*114*/                 } catch (Exception ex) {
///////////////*115*/                     ex.printStackTrace();
///////////////*116*/                 }
///////////////*117*/
///////////////*118*/                 System.exit(0);
///////////////*119*/             }
///////////////*120*/         });
/*121*/     }
/*122*/
/*123*/     //seteo del nombre de los casos de uso en la tabla
/*124*/         /**
     * Seteo del nombre de los casos de uso en la tabla
     */
/*127*/     public void setNomCU() {
/*128*/         Vector nomCU = new Vector();
/*129*/         nomCU = this.control.getNombreCasoUso();
/*130*/         this.setFilasP(nomCU.size());
/*131*/         for (int i = 0; i < nomCU.size(); i++) {
/*132*/             this.tPrecondiciones.setValueAt(nomCU.get(i), i, 1);
/*133*/         Integer intObj = new Integer(i+1);   //agrega el numero a la fila
                this.tPrecondiciones.setValueAt(intObj, i, 0);
                }
/*134*/     }
/*135*/
/*136*/     //seteo del nombre de los casos de uso en los datos complementarios
/*137*/     /**
     * Seteo del nombre de los casos de uso en los datos complementarios
     */
/*140*/     public void setCU() {
/*141*/         Vector nomCU = new Vector();
/*142*/         nomCU = this.control.getNombreCasoUso();
/*143*/         this.setFilasD(nomCU.size());
/*144*/         for (int i = 0; i < nomCU.size(); i++) {
/*145*/             this.tDatosPrecondiciones.setValueAt(nomCU.get(i), i, 1);
                    Integer intObj = new Integer(i+1);   //agrega el numero a la fila
                          this.tDatosPrecondiciones.setValueAt(intObj, i, 0);
                         
/*146*/         }
/*147*/     }
/*148*/
/*149*/     //seteo de los workflows anteriores
/*150*/     /**
     * Seteo de los workflows anteriores
     */
/*153*/     public void setWorkflowAnterior() {
/*154*/         Vector workflowAnterior = new Vector();
/*155*/         workflowAnterior = this.control.getWorkflowAnteriores();
/*156*/         for (int i = 0; i < workflowAnterior.size(); i++) {
/*157*/             this.tDatosPrecondiciones.setValueAt(workflowAnterior.get(i), i, 2);
/*158*/         }
/*159*/     }
/*160*/
/*161*/     //seteo de los case out
/*162*/     /**
     * Seteo de los case out
     */
/*165*/     public void setCaseOutWorkflow() {
/*166*/         Vector caseOutMC = new Vector();
/*167*/         caseOutMC = this.control.getCaseOutMC();
/*168*/         for (int i = 0; i < caseOutMC.size(); i++) {
/*169*/             this.tDatosPrecondiciones.setValueAt(caseOutMC.get(i), i, 3);
/*170*/         }
/*171*/     }
/*172*/
/*173*/     //seteo de las precondiciones provenientes de la plantilla de objetivos del negocio
/*174*/     /**
     * Seteo de las precondiciones provenientes de la plantilla de objetivos del negocio
     */
/*177*/     public void setPreObjRestObj() {
/*178*/         Vector restriccionesON = new Vector();
/*179*/         Vector precondicionesON = new Vector();
/*180*/         precondicionesON = this.control.getPrecondicionesON();
/*181*/         restriccionesON = this.control.getRestriccionesON();
/*182*/         for (int i = 0; i < precondicionesON.size(); i++) {
/*183*/             if (restriccionesON.get(i) == null) {
/*184*/                 this.tPrecondiciones.setValueAt(precondicionesON.get(i), i, 2);
/*185*/             } else {
/*186*/                 this.tPrecondiciones.setValueAt(precondicionesON.get(i) + ". " + restriccionesON.get(i), i, 2);
/*187*/             }
/*188*/         }
/*189*/     }
/*190*/
/*191*/     //seteo de las propiedades de la tabla de precondiciones
/*192*/     /**
     * Seteo de las propiedades de la tabla de precondiciones
     * @param tam indica tamaño de la fila de la tabla utilizada.
     */
/*196*/     public void setFilasP(int tam) {
/*197*/         DefaultTableModel tabla = new MyTableModel(new Object[][]{
/*198*/                     {/*null, null, null*/}
/*199*/                 },
/*200*/                 new String[]{
/*201*/                     "Número","Caso de Uso", "Precondiciones"
/*202*/                 });
/*203*/         tabla.setRowCount(tam);
/*204*/         tabla.setColumnCount(3);
/*205*/         this.tPrecondiciones.setModel(tabla);
/*206*/         this.tPrecondiciones.getColumnModel().getColumn(2).setCellRenderer(new TextAreaRenderer());
/*207*/         this.tPrecondiciones.setShowGrid(true);
/*208*/         this.tPrecondiciones.setGridColor(Color.black);
                TableColumn col= tPrecondiciones.getColumn("Número");
                col.setMaxWidth(50);
                
                tPrecondiciones.getColumn("Precondiciones").setCellRenderer(new DefaultTableCellRenderer() {
                    
                    @Override
                public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

                 setText(value.toString());
                 Icon ico = new ImageIcon(getClass().getResource("/Fotos/lapiz.png"));
                 //setBackground(Color.LIGHT_GRAY);
                 setIcon(ico);
               
                return this;
                }
            });
                
/*209*/     }
/*210*/
    /**
    *  método que verifica que todas las precondiciones existan
 *      @return booleano que señala si los pasos estan completos (true) o no (false)
    */ 
    public boolean checkPcompletos() {
        //String precondicion="";
        for (int i = 0; i < this.tPrecondiciones.getRowCount(); i++) {
/*307*/     //precondicion=(String)this.tPrecondiciones.getValueAt(i, 2);
            if (this.tPrecondiciones.getValueAt(i, 2).toString().trim().isEmpty()){
                return false;
            }

            //if (precondicion.compareTo("")==0)return false;
/*308*/ }
        return true;
    }



/*211*/     /**
             *
             */
/*214*/     class MyTableModel extends DefaultTableModel {
/*215*/
/*216*/         /**
                 *
                 * @param data
                 * @param columnNames
                 */
/*221*/         public MyTableModel(Object[][] data, Object[] columnNames) {
/*222*/             super(data, columnNames);
/*223*/         }
/*224*/
/*225*/         /**
                 *
                 * @param row
                 * @param col
                 * @return
                 */
/*231*/         @Override
/*232*/         public boolean isCellEditable(int row, int col) {
/*233*/             if (col == 0 || col ==1) {
/*234*/                 return false;
/*235*/             } else {
/*236*/                 return true;
/*237*/             }
/*238*/         }
/*239*/     }
/*240*/
/*241*/     /**
             *
             */
/*244*/     class MyTableModel2 extends DefaultTableModel {
/*245*/
/*246*/         /**
                 *
                 * @param data
                 * @param columnNames
                 */
/*251*/         public MyTableModel2(Object[][] data, Object[] columnNames) {
/*252*/             super(data, columnNames);
/*253*/         }
/*254*/
/*255*/         /**
                 *
                 * @param row
                 * @param col
                 * @return
                 */
/*261*/         @Override
/*262*/         public boolean isCellEditable(int row, int col) {
/*263*/             return false;
/*264*/         }
/*265*/     }
/*266*/
/*267*/     //seteo de las propiedades de la tabla de los datos complementarios
/*268*/     /**
     * Seteo de las propiedades de la tabla de los datos complementarios
     * @param tam contador de filas de la tabla utilizada
     */
/*272*/     public void setFilasD(int tam) {
/*273*/         DefaultTableModel tabla = new MyTableModel2(new Object[][]{},
/*274*/                 new String[]{
/*275*/                     "Número","Caso de Uso", "Workflow Anterior", "Case Out Workflow"
/*276*/                 });
/*277*/         tabla.setRowCount(tam);
/*278*/         tabla.setColumnCount(4);
/*279*/         this.tDatosPrecondiciones.setModel(tabla);
/*280*/         this.tDatosPrecondiciones.getColumnModel().getColumn(1).setCellRenderer(new TextAreaRenderer());
/*281*/         this.tDatosPrecondiciones.getColumnModel().getColumn(2).setCellRenderer(new TextAreaRenderer());
/*282*/         this.tDatosPrecondiciones.getColumnModel().getColumn(3).setCellRenderer(new TextAreaRenderer());
/*283*/         this.tDatosPrecondiciones.setShowGrid(true);
/*284*/         this.tDatosPrecondiciones.setGridColor(Color.black);
                TableColumn col= tDatosPrecondiciones.getColumn("Número");
                col.setMaxWidth(50);
/*285*/
/*286*/     }
/*287*/
/*288*/     //seteo de las precondiciones de una sesion anterior
/*289*/     /**
     * Seteo de las precondiciones de una sesion anterior
     * @param precondiciones muestra las precondiciones del caso de uso
     */
/*293*/     public void setPrecondiciones(Vector precondiciones) {
/*294*/         for (int i = 0; i < precondiciones.size(); i++) {
/*295*/             this.tPrecondiciones.setValueAt(precondiciones.get(i), i, 2);
                    Integer intObj = new Integer(i+1);   //agrega el numero a la fila
                          this.tPrecondiciones.setValueAt(intObj, i, 0);
/*296*/         }
/*297*/     }
/*298*/
/*299*/     //se obtienen las precondiciones modificadas
/*300*/     /**
     * se obtienen las precondiciones modificadas
     * @return las precondiciones asociadas
     */
/*304*/     public Vector getPrecondiciones() {
/*305*/         Vector precondiciones = new Vector();
/*306*/         for (int i = 0; i < this.tPrecondiciones.getRowCount(); i++) {
/*307*/             precondiciones.add(this.tPrecondiciones.getValueAt(i, 2));

/*308*/         }
/*309*/         return precondiciones;
/*310*/     }
/*311*/
/*312*/     //verificacion de nulos en la tabla
/*313*/     /**
     * Verificacion de nulos en la tabla
     * @return cantidad de nulos
     */
/*317*/     public Vector nulos() {
/*318*/         Vector v = new Vector();
/*319*/         for (int i = 0; i < this.tPrecondiciones.getRowCount(); i++) {
/*320*/             if (this.tPrecondiciones.getValueAt(i, 2) == null) {
/*321*/                 v.add(0, 1);
/*322*/                 v.add(1, i + 1);
/*323*/                 return v;
/*324*/             }
/*325*/         }
/*326*/         v.add(0, 0);
/*327*/         return v;
/*328*/     }
/*329*/
/*330*/     //verificacion de celdas seleccionadas
/*331*/     /**
     * Verificacion de celdas seleccionadas
     * @return 1 si la celda es seleccionada, 0 si no.
     */
/*335*/     public int select() {
/*336*/         for (int i = 0; i < this.tPrecondiciones.getRowCount(); i++) {
/*337*/             if (this.tPrecondiciones.isCellSelected(i, 2)) {
/*338*/                 return 1;
/*339*/             }
/*340*/         }
/*341*/         return 0;
/*342*/     }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tPrecondiciones = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        tDatosPrecondiciones = new javax.swing.JTable();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();

        setName("Form"); // NOI18N

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(proyectodetitulo.ProyectoDeTituloApp.class).getContext().getResourceMap(JPPrecondiciones.class);
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(resourceMap.getString("jPanel1.border.title"))); // NOI18N
        jPanel1.setName("jPanel1"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        tPrecondiciones.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Caso de Uso", "Precondiciones"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tPrecondiciones.setCellSelectionEnabled(true);
        tPrecondiciones.setName("tPrecondiciones"); // NOI18N
        jScrollPane1.setViewportView(tPrecondiciones);
        tPrecondiciones.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        tPrecondiciones.getColumnModel().getColumn(0).setHeaderValue(resourceMap.getString("tPrecondiciones.columnModel.title0")); // NOI18N
        tPrecondiciones.getColumnModel().getColumn(1).setHeaderValue(resourceMap.getString("tPrecondiciones.columnModel.title1")); // NOI18N

        jScrollPane2.setName("jScrollPane2"); // NOI18N

        tDatosPrecondiciones.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Caso de Uso", "Workflow Anterior", "Case Out Workflow"
            }
        ));
        tDatosPrecondiciones.setCellSelectionEnabled(true);
        tDatosPrecondiciones.setName("tDatosPrecondiciones"); // NOI18N
        jScrollPane2.setViewportView(tDatosPrecondiciones);
        tDatosPrecondiciones.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        tDatosPrecondiciones.getColumnModel().getColumn(0).setHeaderValue(resourceMap.getString("tDatosPrecondiciones.columnModel.title0")); // NOI18N
        tDatosPrecondiciones.getColumnModel().getColumn(1).setHeaderValue(resourceMap.getString("tDatosPrecondiciones.columnModel.title1")); // NOI18N
        tDatosPrecondiciones.getColumnModel().getColumn(2).setHeaderValue(resourceMap.getString("tDatosPrecondiciones.columnModel.title2")); // NOI18N

        jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
        jLabel1.setName("jLabel1"); // NOI18N

        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setName("jLabel2"); // NOI18N

        jLabel4.setIcon(resourceMap.getIcon("jLabel4.icon")); // NOI18N
        jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N
        jLabel4.setName("jLabel4"); // NOI18N

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 930, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel4)
                        .addGap(285, 285, 285))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 930, Short.MAX_VALUE)
                            .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addContainerGap())))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel4)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(48, 48, 48))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 541, Short.MAX_VALUE)
        );
    }// </editor-fold>//GEN-END:initComponents
    public void deshacer(){
      Vector precondicionesON = new Vector();
      precondicionesON = this.control.getPrecondicionesON();
      for (int i = 0; i < this.tPrecondiciones.getRowCount(); i++) {
        if (this.tPrecondiciones.isCellSelected(i, 2)){
            this.tPrecondiciones.setValueAt(precondicionesON.get(i), i, 2);
         }
      }
   }
public void alerta(String mensaje)
{
JOptionPane.showMessageDialog(null, mensaje, "¡Advertencia!", JOptionPane.WARNING_MESSAGE);
}    

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTable tDatosPrecondiciones;
    private javax.swing.JTable tPrecondiciones;
    // End of variables declaration//GEN-END:variables

}
